#ifndef PFRAME_H
#define PFRAME_H

// PLATFORM instance variables
//
#define _DEP_FRAME			\
	pCBitmap	cFrame;		\
	HDC			cDC;		\
	HBITMAP		chOldBmp;	\
				

// public interface
//
PLIBEXP pCFrame newCFrame(HWND hWnd);
PLIBEXP pCFrame newCFrame(int32 width, int32 height);

#define CFrameBits(This)		(CBitmapBits((This)->cFrame))
#define	CFrameRowBytes(This)	(CBitmapRowBytes((This)->cFrame))
#define	CFrameDC(This)			((This) ? (This)->cDC : 0)
#define CFrameUpsideDown(This)	(CBitmapUpsideDown((This)->cFrame))

// protected interface
//
bool8	CFrameConstruct(pCFrame This, HWND hWnd);
bool8	CFrameConstruct(pCFrame This, int32 width, int32 height);

// private interface
//
#define	CFrameLock(This)
#define	CFrameUnlock(This)
#define CFrameBmp(This)		((This)->cFrame)
void	CFrameTransparentDIBits(pCFrame, int32, int32, int32, int32, pCBitmap,
			int32, int32);

#endif
